package 集合.二叉树;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.function.Consumer;

public class mian {
    public static void main(String[] args) {
        /*
        set:无序，不可重复，没有索引
        但 linkedHashSet：有序，不可重复，无索引
        但 treeSet：不重复、无索引、可排序
        利用Set系列的集合，添加字符串，并使用方式遍历
        1.迭代器
        2.增强for
        3.lambda表达式
         */
        Set<String> set1=new HashSet<>();
//        set.add()方法有返回值 boolean
        boolean r1 = set1.add("aaa");
        boolean r2 = set1.add("bbb");
        boolean r3 = set1.add("ccc");
        boolean r4 = set1.add("ddd");
        boolean r5=set1.add("aaa");
        System.out.println(r5);//false集合中存在aaa再次添加会返回false
        System.out.println(set1);//[aaa, ccc, bbb, ddd]
        System.out.println("---------------迭代器遍历----------------");
        Iterator<String> it=set1.iterator();
        while(it.hasNext()){
            String str=it.next();
            System.out.println(str);
        }
        System.out.println("---------------增强for遍历----------------");
        for (String s : set1) {
            System.out.println(s);
        }
        System.out.println("---------------lambda表达式----------------");
        set1.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });

        /*
        简易lambda遍历
        set1.forEach((String str)->{
        sout(str);
        });
         */

        /*
         更简易lambda遍历
        set1.forEach(str->sout(str));
         */


    }
}
